// Author: lyc
#include "bitset.h"
#define bitset_pos(x, y) (((x) * CAMERA_W + (y)) / 32)
#define bitset_offset(x, y) (((x) * CAMERA_W + (y)) % 32)


void bitset_init(BitSet* s) {
	for (int i = 0; i < BITSET_SIZE; i++) {
		s->data[i] = 0;
	}
}

uint8_t bitset_query(BitSet* s, int x, int y) {
	return s->data[bitset_pos(x, y)] & (1 << bitset_offset(x, y)) ? 1 : 0;
}


void bitset_insert(BitSet* s, int x, int y) {
	s->data[bitset_pos(x, y)] |= (1 << bitset_offset(x, y));
}